package com.ruoyi.system.domain;

import java.math.BigDecimal;
import java.util.List;

import com.ruoyi.system.api.domain.ShProductPicture;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 商品信息对象 sh_product
 * 
 * @author ruoyi
 * @date 2023-07-18
 */
@Data
public class ShProduct extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long id;

    /** 店铺id */
    private Long shopId;

    @Excel(name = "店铺")
    private String shopName;

    /** 商品标签 */
    @Excel(name = "商品标签(逗号分隔多个标签)")
    private String labelId;

    private String labelName;

    /** 发布用户id */
    private Long userId;

    @Excel(name = "发布用户")
    private String userName;

    /** 用户头像(冗余字段) */
    @Excel(name = "用户头像(冗余字段)")
    private String userPic;

    @Excel(name = "商品大类")
    private Integer productType;
    @Excel(name = "商品中类")
    private Integer productTypem;
    @Excel(name = "商品小类")
    private Integer productTyped;

    @Excel(name = "商品名称")
    private String productTitle;

    @Excel(name = "商品描述")
    private String productDesc;

    @Excel(name = "商品详细描述")
    private String productDetail;

    @Excel(name = "商品价格")
    private BigDecimal productPrice;

    @Excel(name = "商品折扣")
    private BigDecimal productDiscount;

    @Excel(name = "分销比率")
    private BigDecimal discount;

    @Excel(name = "分销梯度比率")
    private BigDecimal discountBl;

    @Excel(name = "是否视频")
    private Integer isVideo;

    @Excel(name = "显示类型(1横屏,2竖屏)")
    private Integer showType;

    @Excel(name = "显示顺序")
    private Integer orderNum;

    private String appId;

    private String order;
    private String orderType;

    private List<Long> ids;
    private List<ShProductPicture> picList;
    private List<ShProductPicture> vidList;
    private Long picId;
    private Long vidId;
    private String fileFj;
    private String vidUrl;

    private String minDiscount;
    private String maxDiscount;

    private String minPtype;
    private String maxPtype;

    private String createAtstart;
    private String createAtend;

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("shopId", getShopId())
            .append("labelId", getLabelId())
            .append("labelName", getLabelName())
            .append("userId", getUserId())
            .append("userPic", getUserPic())
            .append("productType", getProductType())
            .append("productTitle", getProductTitle())
            .append("productDesc", getProductDesc())
            .append("createTime", getCreateTime())
            .append("discount", getDiscount())
            .append("isVideo", getIsVideo())
            .toString();
    }
}
